//     Zepto.js
//     (c) 2010-2016 Thomas Fuchs
//     Zepto.js may be freely distributed under the MIT license.

(function ($) {
  										$.fn.serializeArray = function () {
    										var name, type, result = [],
      										add = function (value) {
        										if (value.forEach) return value.forEach(add);
        										result.push({ name, value });
      };
    										if (this[0]) $.each(this[0].elements, function (_, field) {
      										type = field.type, name = field.name;
      										if (name && field.nodeName.toLowerCase() != 'fieldset' &&
        !field.disabled && type != 'submit' && type != 'reset' && type != 'button' && type != 'file' &&
        ((type != 'radio' && type != 'checkbox') || field.checked))
          										add($(field).val());
    });
    										return result;
  };

  										$.fn.serialize = function () {
    										var result = [];
    										this.serializeArray().forEach(function (elm) {
      										result.push(encodeURIComponent(elm.name) + '=' + encodeURIComponent(elm.value));
    });
    										return result.join('&');
  };

  										$.fn.submit = function (callback) {
    										if (0 in arguments) this.bind('submit', callback);
    										else if (this.length) {
      										var event = $.Event('submit');
      										this.eq(0).trigger(event);
      										if (!event.isDefaultPrevented()) this.get(0).submit();
    }
    										return this;
  };
})(Zepto);
